---
title: Dependencies
summary: Internal, external, transitive, and service dependencies for SAIF.Services.WCF.UC4.Host, plus vendored assemblies and database connections.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-22
---

# Dependencies

This host has **no in-repository dependency edge**: no `<ProjectReference>`, no shared source, no shared solution with the other three hosts. Every edge leaves the repository as a NuGet package reference.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| None | — | This project declares zero `<ProjectReference>` elements and its solution (`SAIF.Services.WCF.UC4.Host.sln`) contains exactly one project |

## External dependencies

| Package | Version | Reference Type | Usage |
| --- | --- | --- | --- |
| `SAIF.Framework.Core` | 2.0.23079.1 | NuGet Package | Supplies `IEnvironmentService`, `ILogService`, `LogService`, `WcfEnvironmentService`, `UC4Result`, `UC4Environment`, `IUC4Service`, `Enforce` — all `using` directives in `UC4Service.cs:4-15` |
| `SAIF.Framework.Common` | 1.0.0.0 | NuGet Package | Supplies `SAIF.Common.Extensions.ToBoolean()` (`UC4Service.cs:6, 81`) |
| `SAIF.Services.UC4` | 2.0.23069.8 | NuGet Package | Downstream `IUC4Service`, `UC4Result`, `Proxy` (`Uc4Client.cs:2, 27, 33, 42`) |
| `SAIF.Web.API.Clients` | 2.0.22307.1 | NuGet Package | `ClientInfo` (`Uc4Client.cs:3, 28`; `UC4Service.cs:11`) |
| `SAIF.Web.API.Core` | 2.0.22307.1 | NuGet Package | Companion assembly shipped inside the `SAIF.Web.API.Clients` package — no `packages.config` entry of its own |
| `SAIF.HashUtil` | 1.0.0.0 | NuGet Package | Referenced; no direct usage found in host source* |
| `Newtonsoft.Json` | 13.0.0.0 | NuGet Package | Rule document and caller JSON deserialization (`UC4Service.cs:10, 56, 165`); binding redirect in `Web.config` |
| `RestSharp` | 106.12.0.0 | NuGet Package | Transitively by `SAIF.Web.API.Clients`* |
| `log4net` | 1.2.15.0 | NuGet Package | Transitively by the SAIF logging stack* |
| `Autofac` | 3.5.0.0 | NuGet Package | Referenced and project-referenced, **not used** anywhere in host source — see [Tech debt](tech-debt.md) |
| `FluentValidation` | 5.5.0.0 | NuGet Package | Referenced, no usage found in host source* |

## Transitive dependencies

| Type | Source framework | Usage |
| --- | --- | --- |
| `SAIF.Services.WCF.Contracts.IUC4Service` | `SAIF.Framework.Core` | The `[ServiceContract]` interface `UC4Service` implements — external, not present in this repository |
| `SAIF.Core.Contracts.UC4.UC4Result` | `SAIF.Framework.Core` | Return type of all eight operations |
| `SAIF.Core.Contracts.UC4.UC4Environment` | `SAIF.Framework.Core` | Parameter type of the four obsolete operation forms |
| `UC4EnvironmentFactory` | Unresolved external `SAIF.*` package** | Converts `UC4Environment` to a `short` client id (`UC4Service.cs:133, 141, 156, 182, 202`) |
| `LogErrorBehaviorAttribute` (`SAIF.Services.WCF.Common.Extensions`) | Unresolved external `SAIF.*` package** | The `IServiceBehavior` applied to `UC4Service` — not the same type as the in-repository `SAIF.Services.WCF.Extensions.LogErrorBehaviorAttribute` |

## Service dependencies

| Dependency | Mechanism | Usage |
| --- | --- | --- |
| Downstream UC4 scheduling service | Packaged framework client (`SAIF.Services.UC4.IUC4Service` via `Proxy`), **not** a SOAP proxy generated in this repository — no `Service References`/`Web References` folder, no `ChannelFactory`, no `.wsdl` | Every allowed job is forwarded here by `UC4Client.ScheduleJob` (`Uc4Client.cs:50-54`); the transport and contract are owned by the `SAIF.Services.UC4` / `SAIF.Web.API.Clients` packages and are not visible in this repository** |

This host consumes no SOAP service. The one consumed SOAP proxy in this repository, `Legacy.Fax`, belongs to the sibling host `SAIF.Services.WCF.Host` and is out of scope here.

## Vendored assemblies

| Assembly | HintPath | Usage |
| --- | --- | --- |
| None | — | Every `<Reference>` with a `HintPath` in `SAIF.Services.WCF.UC4.Host.csproj` resolves under `packages\`. The vendored assemblies that exist elsewhere in this repository (`..\Libs\SAIF\SAIFConnection.dll`, `..\Libs\ActivePDF\*`, `..\Libs\Vignette\*`, `..\Libs\SAIF\SAIF.Services.ImageClient.dll`) are not referenced by this host. |

## Database connections

| Connection | Resolution mechanism | Usage |
| --- | --- | --- |
| None | Not applicable — this host performs no database interaction of any kind. No `<connectionStrings>` element, no `DbConnectionManager` call, no NHibernate/Oracle package reference exists in this project. See [Configuration](configuration.md#run-time-connection-resolution-chain). No `data-model.md` page is generated for this host: the analysis proved (by exhaustive search) that no database interaction exists. | Whatever persistence the downstream UC4 service performs is owned by `SAIF.Services.UC4` and the service behind `uc4coreapi.url`, and is out of scope for this host |

## Dependency risks and notes

| Finding | Note |
| --- | --- |
| `Autofac` packaged and unused | A dependency inventory built from packages alone would wrongly report a container; no `ContainerBuilder`, `RegisterType<`, or `RegisterModule` usage exists anywhere in this host — see [Tech debt](tech-debt.md) |
| `FluentValidation` packaged and unused | Same finding as `Autofac`; no usage found in host source* |
| No resilience on the outbound call | `UC4Client.ScheduleJob` calls the downstream service with no retry, circuit breaker, or timeout override found in this host's source — any downstream failure propagates unchanged as a WCF default fault — see [Tech debt](tech-debt.md) |
| `SAIF.Services.WCF.Common.Extensions` package identity unresolved | The package supplying `[LogErrorBehavior]` could not be identified from `packages.config`; a repository-wide search for `namespace SAIF.Services.WCF.Common` outside `packages\` returns nothing** |
| `uc4coreapi.schedulejobroute` read and discarded | Retrieved into `ScheduleJobEndpoint` on `UC4Client` and never read by any code path — a performance-neutral but confusing dead read |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Activation and hosting](activation-hosting.md)
- [Operations](operations.md)
- [Faults and error pipeline](faults.md)
- [Authentication and authorization](authentication-authorization.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Operational runbook](operational-runbook.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `src/WCF/SAIF.Services.WCF.UC4.Host/SAIF.Services.WCF.UC4.Host.csproj`
- `src/WCF/SAIF.Services.WCF.UC4.Host/packages.config`
- `src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs`
- `src/WCF/SAIF.Services.WCF.UC4.Host/Uc4Client.cs`
- `src/WCF/SAIF.Services.WCF.UC4.Host/Web.config`
